using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("NineSliceElement")]
	public class NineSliceElement : MonoBehaviour
	{
		public MultiSliceElement.Slice m_topRow => method_3<MultiSliceElement.Slice>("m_topRow");

		public MultiSliceElement.Slice m_midRow => method_3<MultiSliceElement.Slice>("m_midRow");

		public MultiSliceElement.Slice m_btmRow => method_3<MultiSliceElement.Slice>("m_btmRow");

		public MultiSliceElement.Slice m_topLeft => method_3<MultiSliceElement.Slice>("m_topLeft");

		public MultiSliceElement.Slice m_top => method_3<MultiSliceElement.Slice>("m_top");

		public MultiSliceElement.Slice m_topRight => method_3<MultiSliceElement.Slice>("m_topRight");

		public MultiSliceElement.Slice m_left => method_3<MultiSliceElement.Slice>("m_left");

		public MultiSliceElement.Slice m_middle => method_3<MultiSliceElement.Slice>("m_middle");

		public MultiSliceElement.Slice m_right => method_3<MultiSliceElement.Slice>("m_right");

		public MultiSliceElement.Slice m_bottomLeft => method_3<MultiSliceElement.Slice>("m_bottomLeft");

		public MultiSliceElement.Slice m_bottom => method_3<MultiSliceElement.Slice>("m_bottom");

		public MultiSliceElement.Slice m_bottomRight => method_3<MultiSliceElement.Slice>("m_bottomRight");

		public List<GameObject> m_ignore => method_3<Class271<GameObject>>("m_ignore")?.method_25();

		public MultiSliceElement.Direction m_WidthDirection => method_2<MultiSliceElement.Direction>("m_WidthDirection");

		public MultiSliceElement.Direction m_HeightDirection => method_2<MultiSliceElement.Direction>("m_HeightDirection");

		public Vector3 m_localPinnedPointOffset => method_2<Vector3>("m_localPinnedPointOffset");

		public MultiSliceElement.XAxisAlign m_XAlign => method_2<MultiSliceElement.XAxisAlign>("m_XAlign");

		public MultiSliceElement.YAxisAlign m_YAlign => method_2<MultiSliceElement.YAxisAlign>("m_YAlign");

		public MultiSliceElement.ZAxisAlign m_ZAlign => method_2<MultiSliceElement.ZAxisAlign>("m_ZAlign");

		public Vector3 m_localSliceSpacing => method_2<Vector3>("m_localSliceSpacing");

		public bool m_reverse => method_2<bool>("m_reverse");

		public bool m_useUberText => method_2<bool>("m_useUberText");

		public NineSliceElement(IntPtr address, string className)
			: base(address, className)
		{
		}

		public NineSliceElement(IntPtr address)
			: this(address, "NineSliceElement")
		{
		}

		public void SetEntireWidth(float width)
		{
			method_8("SetEntireWidth", width);
		}

		public void SetEntireHeight(float height)
		{
			method_8("SetEntireHeight", height);
		}

		public void SetEntireSize(Vector2 size)
		{
			method_9("SetEntireSize", new Class276.Enum20[1] { Class276.Enum20.ValueType }, size);
		}

		public void SetEntireSize(float width, float height)
		{
			method_9("SetEntireSize", new Class276.Enum20[2]
			{
				Class276.Enum20.R4,
				Class276.Enum20.R4
			}, width, height);
		}

		public void SetWidth(float width)
		{
			method_8("SetWidth", width);
		}

		public void SetHeight(float height)
		{
			method_8("SetHeight", height);
		}

		public void SetSize(Vector2 size)
		{
			method_9("SetSize", new Class276.Enum20[1] { Class276.Enum20.ValueType }, size);
		}

		public void SetSize(float width, float height)
		{
			method_9("SetSize", new Class276.Enum20[2]
			{
				Class276.Enum20.R4,
				Class276.Enum20.R4
			}, width, height);
		}

		public void SetMiddleScale(float scaleWidth, float scaleHeight)
		{
			method_8("SetMiddleScale", scaleWidth, scaleHeight);
		}

		public Vector2 GetWorldDimensions()
		{
			return method_11<Vector2>("GetWorldDimensions", Array.Empty<object>());
		}

		public OrientedBounds GetSliceBounds(GameObject slice)
		{
			return method_14<OrientedBounds>("GetSliceBounds", new object[1] { slice });
		}

		public void UpdateAllSlices()
		{
			method_8("UpdateAllSlices");
		}

		public void UpdateSegmentsToMatchMiddle()
		{
			method_8("UpdateSegmentsToMatchMiddle");
		}
	}
}
